Interference suppression is a well-known technique that can be used to improve the performance of wireless communication receivers in the presence of multiple access interferers. Consider for example a wireless communication system including a base station that receives communication signaling from multiple users. In such a system, the signal received by the base station can be modeled as
            y      ⁡              (        t        )              =                            ∑          k                ⁢                              r            k                    ⁡                      (            t            )                              +              n        ⁡                  (          t          )                      ,where rk(t) is the signal received from user k and n(t) is the additive Gaussian noise used to model thermal noise in the receiver front end. If the user transmits at a relatively high data rate with multiple parallel codes and a low spreading factor, self-interference is usually present.
FIG. 1 illustrates an example of a system with a data user that transmits at a relatively high data rate, and other users (e.g., voice users) that transmit at a relatively low rate. The signal received from each user at the base station can be described as
rk(t)=hk(t){circle around (x)}ak(t), where {circle around (x)} denotes convolution, and
            h      k        ⁡          (      t      )        =            ∑              m        =        1                    L        k              ⁢                  h                  k          ,          m                    ⁢              δ        ⁡                  (                      t            -                          τ                              k                ,                m                                              )                    is the baseband equivalent impulse response of a multipath channel, where Lk is the number of resolvable paths associated with user k, hk,m and τk,m are the complex-valued channel coefficients and delays, respectively, for the m-th path associated with user k. The signal transmitted by user k is
            a      k        ⁡          (      t      )        =            E        ⁢                  ∑        m            ⁢                        b                      k            ,            m                          ⁢                              ∑                          n              =              0                                      N              -              1                                ⁢                                                    c                                  k                  ,                  m                                            ⁡                              (                n                )                                      ⁢                          p              ⁡                              (                                  t                  -                                      nT                    C                                    -                  mT                                )                                                        where E is the average chip energy, bk,m is the transmitted symbol, ck,m(n) is the spreading code, N is the spreading factor, p(t) is the normalized chip pulse shape, Tc is the chip duration and T is the symbol duration.
In conventional wireless communication systems that use direct sequence code-division multiple-access (DS-CDMA) technology, the receiver is typically implemented as a Rake receiver. The Rake receiver is a matched filter that is matched to the operations of spreading, pulse shape filtering, and channel filtering. This matched filter maximizes the signal-to-noise ratio at its output when the interference plus noise is white. The Rake receiver includes correlators that despread different delayed versions of the received signal. The despread values are then combined to form soft values. If the despread values are collected in a vector x, then the symbol estimate is given by z=wHx, where w is the vector of the combining weights, and the superscript H denotes Hermitian transpose. The combining weights of a Rake receiver are given by w=h, where h is the vector of the estimated channel coefficients (also referred to herein as the channel estimate vector). In systems with two receive antennas at the base station, it can be assumed that the combining weights vector w and the estimated channel coefficients vector h both have a length equal to the total number of Rake fingers summed over the antennas.
Rake receivers model interference as white noise. Thus, as indicated above, they work best when the interference plus noise is white, and their performance deteriorates in the presence of colored noise. A whitening matched filter, such as is essentially provided by G-Rake (Generalized Rake) receivers and chip equalizers, is preferable in the presence of colored noise.
Conventional G-Rake receivers model interference as colored noise, and can provide interference suppression superior to that of Rake receivers in situations where the interference is colored. The G-Rake receiver structure is similar to the Rake receiver, but uses different combining weights, and may have extra fingers. The G-Rake receiver is, as mentioned above, in essence a whitening matched filter. It uses an impairment correlation matrix to describe the second-order properties of the interference plus noise. The combining weights in a G-Rake receiver are obtained by multiplying the channel coefficients vector by the inverse of this correlation matrix. The combining operation in a G-Rake receiver can be viewed as a filtering operation that comes after despreading. The combining weights for a G-Rake receiver are given by w=R−1h, where R is the aforementioned correlation matrix. The G-Rake receiver must therefore be able to provide a suitable correlation matrix R.
Conventional chip equalizers are similar to G-Rake receivers, except that the order of despreading and combining is reversed. A filtering or combining operation is performed first, at the chip level, using filter coefficients that correspond to the G-Rake combining weights, and using filter tap locations that correspond to the G-Rake finger locations (delays). The filtering operation is followed by a despreading operation. Like the G-Rake receiver, the filter coefficients for a chip equalizer can be determined from a correlation matrix and a channel coefficient vector. In general, the receiver uses demodulation delays that correspond to rake finger delays in a G-Rake receiver and filter tap locations in a chip equalizer.
Various conventional systems use different approaches to the problem of estimating the correlation matrix. One approach uses the despread values associated with pilot symbols. Impairment samples are obtained by subtracting the channel coefficient estimates from the pilot symbol despread values. These samples are then multiplied and averaged over multiple symbols to form the correlation estimates that populate the correlation matrix. The aforementioned pilot symbol despread values will of course differ for each user, so a correlation matrix is computed for each user. Each correlation matrix R is then inverted, and the inverted matrix R−1 is then multiplied by the corresponding channel coefficients vector h, in order to produce the combining weights vector w according to w=R−1h. Alternatively, iterative approaches such as the Gauss-Seidel method are used to solve Rw=h for w.
Another conventional approach uses the received signal directly (before despreading) to estimate a related correlation matrix. For example, a chip sample correlation matrix is a form of interference statistics, as it includes information about the interference. Each user computes its own correlation matrix based on the received chip samples and its own corresponding finger delays. The channel coefficient estimates are computed from the despread values of the pilot symbols. Each correlation matrix R is then used to solve for w using Rw=h. FIG. 2 generally illustrates this approach. In response to the baseband signal 25 received from the front end part, the correlation matrix computer units produce the correlation matrices for the associated users. Each weight computer unit 23 produces a combining weight vector w using a correlation matrix R and a channel coefficient vector h. The combining weights of the weight vector w produced by each user's weight computer unit 23 are used to combine the despread traffic value vector elements to form traffic symbol estimates, z, which are provided to the additional receiver processing unit for demodulation/decoding (z=wHy, where y is the despread traffic vector). FIG. 2A illustrates a combining unit that combines the traffic despread values and the combining weights to produce symbol estimates processed by the additional receiver processing unit.
The estimation and possible inversion of a correlation matrix can be relatively complex computational procedures, and the aforementioned conventional approaches can easily necessitate a large number of these procedures. In fact, the number of correlation matrix estimation and inversion operations is typically proportional to the number of users. This can lead to undesirable increases in the complexity and cost of the receiver.
It is desirable in view of the foregoing to provide for interference suppression in the reception of CDMA communications from multiple users, while avoiding the aforementioned difficulties associated with prior art approaches.